// .txt

beginzonescript;

variables;

short crime_tolerance = 5;
short last_abil;
short i;
short unbound_mode = 0;
body;

beginstate INIT_STATE;

//	set_name(,"");

	set_aggression(8,9);
	set_aggression(9,9);
	set_aggression(10,9);
	set_aggression(11,9);


	add_range_to_group(19,23,1);
	if (gf(24,2) > 0) 
		erase_char(1001);
	set_aggression(28,9);

	add_range_to_group(29,33,2);

	set_aggression(34,9);
	
	set_obj_act_at_dist(31,1);

	set_name(40,"Captain Griffin");
	if (gf(24,9) == 1) {
		spawn_creature(32);
		set_name(40,"Captain Penrose");
		}
	if (((gf(24,1) > 0) || (gf(24,9) > 1)) && (gf(100,18) > 0))
		sf(24,7,1);
	
	add_range_to_group(36,39,5);
	add_range_to_group(40,45,4);
	if ((gf(24,6) > 0) && (gf(24,8) == 0)) {
		erase_char(1004);
		erase_char(1005);
		activate_hidden_group(2);

		place_particle_num(51,18,12,4);		
		place_particle_num(51,19,12,4);		
		place_particle_num(51,20,12,4);		

		unbound_mode = 1;
		}
		
	if (get_sdf(24,1) > 0) {
		make_zone_hostile();
		}

	last_abil = get_current_tick();
	
	set_crime_tolerance(crime_tolerance);
	break;

beginstate EXIT_STATE;

break;

beginstate START_STATE;
	if ((unbound_mode) && (gf(24,8) > 0) && (gf(100,18) > 0) && (gf(24,7) == 0)) {
		sf(24,7,1);
		print_str_color("Now that the drakon is dead, you can see if you can pass",2);
		print_str_color("  through the gate.",2);
		}
		
	// clear zone?
	if ((zone_clear(ME) == FALSE) && (get_flag(24,8) > 0)) {
		clear_zone(ME);	
		}
		
	if ((get_crime_level() >= crime_tolerance) && (get_sdf(24,1) == 0)) {
		make_zone_hostile();
		set_flag(24,1,1);
		}

	 if ((num_chars_in_group(3) > 0) && (gf(24,1) == 0)) {
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(40,"Be ready!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(40,"They are coming!");
		if (get_ran(1,0,100) < 10)
			give_char_text_bubble(40,"Stand with us.");
		}
	
	//if (((is_combat()) && (tick_difference(last_abil,get_current_tick()) > 0)) || ((is_group()) && (tick_difference(last_abil,get_current_tick()) > 5))) {
	//	last_abil = get_current_tick();
	//	}
break;

beginstate 10;
	sf(24,7,1);
	if (zone_clear(ME) == FALSE) {
		print_str_color("Now that you have gotten through the gate, you can pass",2);
		print_str_color("  this area freely.",2);
		clear_zone(ME);	
		}
	
break;

beginstate 11;
	if (gf(24,2) == 0) {
		sf(24,2,1);
		set_attitude(1001,10);
		set_act_at_dist(1001,1);
		}
break;


//	print_str("");
//	set_terrain_string_range(".",3);
//	set_terrain_string_range("The sign says - .",3);
